// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})


// 封装一个函数 显示轻提示盒子
function tip(msg = '默认提示'){
  const toastBox = document.querySelector('#myToast')
			const toast = new bootstrap.Toast(toastBox,{
				Animation:true, // 是否开启过渡动画
				autoHide:true, // 是否自动隐藏
				delay:3000, // 2000毫秒后隐藏
			})
      toastBox.querySelector('.toast-body').innerHTML = msg
			toast.show()
}

//显示用户名到页面
// 当前文件是公共文件 login和register也引入了这个文件 但是没有span盒子 所以需要加判断

const box = document.querySelector('.navbar-nav .font-weight-bold')
//从本地存储中取出用户名
const username =  localStorage.getItem('user-name')
if(box){  
  //设置给对应盒子的内容
  box.innerHTML = username
}


// 退出登录
// 注册on 清除token 跳转登录  
const logout = document.querySelector('#logout')
if(logout){
  logout.addEventListener('click',function(){
    localStorage.removeItem('user-token')
    localStorage.removeItem('user-name')
    location.href = 'login.html'
  })
}

// 配置接口调用 基地址
axios.defaults.baseURL = 'http://ajax-api.itheima.net'



 // 添加请求拦截器 --- 请求发送之前都会执行的一个函数
 axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // alert('拦截到了一个请求')
  // 请求拦截器应用  统一 在请求头中 设置token
  const token = localStorage.getItem('user-token')
  if(token){config.headers.authorization = token}
  return config;
  // config 是发送请求时的配置对象
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});


   // 添加响应拦截器 ----- 服务器响应回来后 先执行的处理函数
   axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    // console.log('拦截到了成功的响应');
    // return response;
    // 对套壳对象 -- 敲掉一层壳 （剥掉一层数据）---- 套壳对象。data属性保存着服务器响应的数据 
    return response.data
  }, function (error) {
    // 对响应错误做点什么
    console.log('拦截到了错误的响应');
    console.dir(error);
    // 响应拦截器应用1  处理token失效的错误响应
    if(error.response.status===401){
      alert('登陆态失效 请重新登录')
      // 清楚失效的token name
      localStorage.removeItem('user-name')
      localStorage.removeItem('user-token')
      // 页面跳转到登陆
      setTimeout(function(){
        location.href = 'login.html'
      },2000)
    }
    return Promise.reject(error);
  });